#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <semaphore.h>

int main(int argc, char const *argv[])
{
    int var = 0;
    sem_t sem;
    sem_init(&sem, 0, 10);   // 初始化信号量P操作

    sem_getvalue(&sem, &var);
    printf("semaphore value: %d\n", var);

    // sem_post(&sem);   // 信号量V操作
    sem_wait(&sem);   // 信号量P操作
    sem_getvalue(&sem, &var);
    printf("semaphore value: %d\n", var);
    

    sem_destroy(&sem); // 销毁信号量

    return 0;
}
